←Select platform

ApplyVoiLookupTableCommand Constructor(DicomLookupTableDescriptor,short[],VoiLookupTableCommandFlags)

Summary

Initializes a new ApplyVoiLookupTableCommand with explicit parameters.

Syntax
C#
VB
Objective-C
C++
Java
Public Function New( _ 
   ByVal lookupTableDescriptor As DicomLookupTableDescriptor, _ 
   ByVal lookupTable() As Short, _ 
   ByVal flags As VoiLookupTableCommandFlags _ 
) 
- (instancetype)initWithLookupTableDescriptor:(LTDicomLookupTableDescriptor*)lookupTableDescriptor 
                                  lookupTable:(const unsigned short *)lookupTable 
                            lookupTableLength:(NSUInteger)lookupTableLength 
                                        flags:(LTVoiLookupTableCommandFlags)flags 
public ApplyVoiLookupTableCommand( 
   DicomLookupTableDescriptor lookupTableDescriptor,  
   int[] lookupTable,  
   int flags 
) 

Parameters

lookupTableDescriptor
Structure describing the LookupTable. The following members are used:

Value Meaning
FirstStoredPixelValueMapped Indicates the first index whose remapped value is stored in the LookupTable. All image display LookupTable entries which are less than this value will be remapped to LookupTable[0].

lookupTable
Array of short values which contains the lookup table. Its length determines the number of entries. All the pixels that are greater than FirstStoredPixelValueMapped + (LookupTable->Length) will be set to the last entry in the LookupTable (LookupTable[LookupTable->Length - 1]).

flags
Flags that determine the behavior of this method. These flags can be OR-ed together.

Example

Run the ApplyVoiLookupTableCommand on an image.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
public void ApplyVoiLookupTableConstructorExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm")); 
 
   // Prepare the command 
   int i; 
   short[] pLookupTable = new short[0x10000]; 
   DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor(); 
 
   for (i = 0; i < 0x10000; i++) 
   { 
      if (i < 30) 
      { 
         pLookupTable[i] = 0; 
      } 
      else 
         if (i > 630) 
         pLookupTable[i] = 630; 
      else 
         pLookupTable[i] = (short)i; 
   } 
 
   // Fill the LookupTableDescriptor object 
   LookupTableDescriptor.FirstStoredPixelValueMapped = 0; 
   LookupTableDescriptor.EntryBits = 16; 
 
   ApplyVoiLookupTableCommand command = new ApplyVoiLookupTableCommand(LookupTableDescriptor, pLookupTable, VoiLookupTableCommandFlags.None); 
   command.Run(image); 
 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.Core 
 
Public Sub ApplyVoiLookupTableConstructorExample() 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
 
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm")) 
 
   ' Prepare the command 
   Dim i As Integer 
   Dim pLookupTable() As Short 
   ReDim pLookupTable(65536) 
   Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor 
 
   For i = 0 To 65536 
      If (i < 30) Then 
         pLookupTable(i) = 0 
      Else 
         If (i > 630) Then 
            pLookupTable(i) = 630 
         Else 
            pLookupTable(i) = CType(i, Int16) 
         End If 
      End If 
   Next 
 
   ' fill the LookupTableDescriptor object 
   LookupTableDescriptor.FirstStoredPixelValueMapped = 0 
   LookupTableDescriptor.EntryBits = 16 
 
   Dim command As ApplyVoiLookupTableCommand = New ApplyVoiLookupTableCommand(LookupTableDescriptor, pLookupTable, VoiLookupTableCommandFlags.None) 
   command.Run(leadImage) 
 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
c#[Silverlight C# Example] 
using Leadtools; 
using Leadtools.Examples; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
public void ApplyVoiLookupTableConstructorExample(RasterImage image, Stream outStream) 
{ 
   // Prepare the command 
   int i; 
   short[] pLookupTable = new short[0x10000]; 
   DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor(); 
 
   for (i = 0; i < 0x10000; i++) 
   { 
      if (i < 30) 
      { 
         pLookupTable[i] = 0; 
      } 
      else 
         if (i > 630) 
         pLookupTable[i] = 630; 
      else 
         pLookupTable[i] = (short)i; 
   } 
 
   // Fill the LookupTableDescriptor object 
   LookupTableDescriptor.FirstStoredPixelValueMapped = 0; 
   LookupTableDescriptor.EntryBits = 16; 
 
   ApplyVoiLookupTableCommand command = new ApplyVoiLookupTableCommand(LookupTableDescriptor, pLookupTable, VoiLookupTableCommandFlags.None); 
   command.Run(image); 
 
   // Save result image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24); 
   image.Dispose(); 
} 
vb[Silverlight VB Example] 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.Core 
 
Public Sub ApplyVoiLookupTableConstructorExample(ByVal image As RasterImage, ByVal outStream As Stream) 
   ' Prepare the command 
   Dim i As Integer 
   Dim pLookupTable As Short() = New Short(&H10000 - 1) {} 
   Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor() 
 
   i = 0 
   Do While i < &H10000 
      If i < 30 Then 
         pLookupTable(i) = 0 
      Else 
         If i > 630 Then 
            pLookupTable(i) = 630 
         Else 
            pLookupTable(i) = CShort(i) 
         End If 
      End If 
      i += 1 
   Loop 
 
   ' Fill the LookupTableDescriptor object 
   LookupTableDescriptor.FirstStoredPixelValueMapped = 0 
   LookupTableDescriptor.EntryBits = 16 
 
   Dim command As ApplyVoiLookupTableCommand = New ApplyVoiLookupTableCommand(LookupTableDescriptor, pLookupTable, VoiLookupTableCommandFlags.None) 
   command.Run(image) 
 
   ' Save result image 
   Dim codecs As RasterCodecs = New RasterCodecs() 
   codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24) 
   image.Dispose() 
End Sub 

Requirements

Target Platforms

Help Version 20.0.2020.4.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ImageProcessing.Core Assembly